import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false;
/*
组件执行顺序：
父： beforeCreate - created - beforemount 这个时候发现子组件，开始执行子组件
子： beforeCreate - created - beforemount - mounted - 父组件.
父： mounted --

 组件调用时在子组件mounted执行时候调用，所以要在子组件mounted之钱，吧Vue 事件绑定上去
  -- 可以选择 父组件之前的三个状态之前绑定上即可
*/

// 使用插件
/*
1.果引入的插件是一个函数,则use会把这个函数当做是插件对象的install方法,直接调用,并传入一个Vue作为参数
2.如果引入的插件是一个对象,则use会默认调用这个对象的install方法,并传入一个Vue作为参数
*/ 
new Vue({
  render: h => h(App),
 
  // 一定要在子组件的mounted之前，吧 $bus绑定上
  beforeCreate(){
    Vue.prototype.$bus = this; // this 指向当前vue实例
  },
 

}).$mount('#app')

// new Vue没有执行玩，是不会执行 Vue.prototype.$bus = vm; 所以需要vue的生命周期管理函数





